使用 Git Worktree 快速切换复杂的项目情境
近期不管是用 AI Vibe Coding 还是工作上切换不同功能感觉使用 git stash 不是很方便,虽然大致知道有 git worktree 但都还懒得学直接先跳过。这次有空来学如何使用 Git Worktree 快速切换复杂的专案情境。
近期不管是用 AI Vibe Coding 还是工作上切换不同功能感觉使用 git stash 不是很方便,虽然大致知道有 git worktree 但都还懒得学直接先跳过。这次有空来学如何使用 Git Worktree 快速切换复杂的专案情境。
从很早以前就大致知道浏览器开始推出 Web Components 相关 API 与标准,但一直没有机会在实战中使用这项技术。想撰写这篇文章记录是因为随着时间推移发现 Web Components 的应用范围越来越广,因此趁着有空也来了解一下相关知识,并且分析它与现有的解决方案有什么不同。
Git 允许我们纪录任何档案的变更,并且可以轻松地回溯到任何一个版本,但是当需要储存大型档案时Git 就会显得力不从心,因为Git 并不是为了储存大型档案(图片、影片、音乐……等二进制档案)而设计的。而这次介绍的 Git Large File Storage 是 Git 的扩充,专门用于解决以上问题。
如今 Git 与 GitHub 已经成为业界主流,有很大机率你的专案也会使用到它们来进行版本控制,但由于 GitHub 是一款基于 Git 附加的服务,所以我们时常会轻视它的功能,其实 GitHub 有许多不错的功能却不是那么明显,因此主要分享一些我认为有用但日常使用没有查觉到的功能。
近期将公司的新 Nx Monorepo 架构专案透过 GitHub Action 添加了自动更新套件的功能,会想实践该功能是因为旧专案疏于更新导致吃了非常多的苦头,希望在新架构下可以有更轻松且自动化的方式去执行更新。其中 Nx 有专属的 nx migrate 指令帮助我们达成这件事,并且背后有些非常有趣的机制与理念。
不到 3 步骤让你的网站拥有以 WebAssembly 高效驱动的客制化搜寻功能。静态网站像是部落格、文件、个人网站、公司网站……等这类阅读体验为主的网站通常都有搜寻内容的需求,恰逢 Pagefind 1.0 的推出我把原先自制的fuse.js 搜寻功能换成Pagefind,分享如何在任何静态网站上加入搜寻功能。
TDD 测试驱动开发是一种开发方法论,先写测试再实践代码,应该如何撰写测试?或许听过 TDD 但不清楚与单纯写测试差别在哪?这篇文章详细描述 TDD 的优势与实际操作范例快速了解 TDD 为什么这么赞。TDD 目的便是打造一个工作流程能够验证代码的行为,让开发者能够更有信心的重构、更动代码。
随着前端的复杂程度增加,Monorepo 这个词汇也时常出现,可惜的是相关介绍资源非常不足,趁着近期较为闲暇的时间来统整记录一下我对 Monorepo 的理解。受到不同好文章与影片的启发,我想写一篇最直白的 Monorepo 解释,希望能够帮助更多人理解 Monorepo 的概念。
本文描述近期在维护既有代码时的故事,目前的专案中有各式各样前人尚未统一的验证方式,例如:有些是使用 HTML 原生客户端验证、伺服器端验证、第三方套件、自造的验证方法,如何统一规范验证方式是一大问题,同时也要思考:「要如何避免创造更多的陈旧代码?」
NPM 是 JavaScript 开发环境中必不可少的软件包管理器。本文将以导演一部电影为比喻,解释 NPM 的运作方式。编程就像拍摄一部电影,可以亲自设计和管理演员,也可以雇佣他人设计好的演员。NPM 就像一个平台,可以在上面找到许多现成的演员,这些演员就是软件包(Package)。
在程式语言中最基本的问题就是问题就是如何纪录与操纵资料,牵扯到传值与传址的问题,这篇教学使用 JavaScript 搭配图表帮助你了解它们的差异。了解如何储存变数有助于更好的操控资料,避免出现改 A 却动到 B 的状况。
我相信撰写程式并没有绝对的准则,但绝对有些常见可以权衡留意的地方。这篇文章记录著作为助教在检阅不同人写的代码的时候,留意到的一些潜在的问题……本篇文章主要是经验的浓缩,如果要详细的撰写建议可以参考看看无瑕的程式码,会有更全面的说明与案例。